package model;


import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class Vendedor implements Serializable {
    private String nome;
    private String codigo;
    private int categoria;
    
    
    public Vendedor() {
    }
    
    public Vendedor(String nome, String codigo, int categoria) {
        this.nome = nome;
        this.codigo = codigo;
        this.categoria = categoria;
    }
    
    /**
     * Função que obtém as vendas do vendedor dentro de um periodo de tempo determinado.
     * @param vendas - lista de vendas a serem consideradas.
     * @param mesInicial - mês do inicio do período.
     * @param anoInicial - ano do inicio do período.
     * @param mesFinal - mês do fim do período.
     * @param anoFinal - ano do fim do período
     * @return Uma lista com as vendas pertinentes ao vendedor no periodo de tempo especificado nos parametros.
     */
    public List<Venda> obterVendasVendedor(List<Venda> vendas, int mesInicial, int anoInicial, int mesFinal, int anoFinal){
        List<Venda> vendasVendedor = new ArrayList<>();
        
        for(Venda venda : vendas){
            if(venda.getCodigoVendedor().equals(this.codigo)){
                Date dataVenda = venda.getDataVenda();
                int mesVenda = dataVenda.getMonth();
                int anoVenda = 1900 + dataVenda.getYear();
                if((anoVenda>=anoInicial)&&(anoVenda<=anoFinal)&&(mesVenda>=mesInicial)&&(mesVenda<=mesFinal)){
                    vendasVendedor.add(venda);
                }
            }
        }
        
        return vendasVendedor;
    }

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public String getCodigo() {
        return codigo;
    }

    public void setCodigo(String codigo) {
        this.codigo = codigo;
    }

    public int getCategoria() {
        return categoria;
    }

    public void setCategoria(int categoria) {
        this.categoria = categoria;
    }

    
    
    
    
    
}
